package com.ruicar.afs.cloud.manage.common.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.common.modules.contract.enums.FeeTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import lombok.experimental.Accessors;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;

/**
 * @author: Lee
 * @date 2020-05-30 09:21:16 
 * @description 费用豁免明细信息表
 */
@Data
@Accessors(chain = true)
@TableName(value ="manage_cost_exempt_detailed", autoResultMap = true)
public class ManageCostExemptDetailed extends BaseEntity<ManageCostExemptDetailed> {

	/** 费用豁免信息表ID */
	@ApiModelProperty("费用豁免信息表ID")
	@JsonSerialize(using= ToStringSerializer.class)
	private Long exemptId;
	/** 合同号 */
	@ApiModelProperty("合同号")
	private String contractNo;
	/** 案件号 */
	@ApiModelProperty("案件号")
	private String caseNo;
	/** 费用类型 枚举值 */
	@ApiModelProperty("费用类型 枚举值")
	private FeeTypeEnum costType;
	/** 客户姓名 */
	@ApiModelProperty("客户姓名")
	private String custName;
	/** 到期日 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("到期日")
	private Date dueDate;
	/** 费用总计 */
	@ApiModelProperty("费用总计")
	private BigDecimal totalCost;
	/** 费用金额 费用总额-客户豁免过的金额 */
	@ApiModelProperty("费用金额 费用总额-客户豁免过的金额")
	private BigDecimal costAmt;
	/** 减免比例 */
	@ApiModelProperty("减免比例")
	private Double reductionRatio;
	/** 豁免额 */
	@ApiModelProperty("豁免额")
	private BigDecimal exemptionAmt;
	/** 到期金额 费用总额-累计豁免金额-本次豁免金额 */
	@ApiModelProperty("到期金额 费用总额-累计豁免金额-本次豁免金额")
	private BigDecimal dueAmt;

	/** 申请时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("申请时间")
	private Date applyDate;
	/** 申请编号 */
	@ApiModelProperty("申请编号")
	private String applyNo;

	/** 合同费用详细信息表id */
	@ApiModelProperty("合同费用详细信息表id")
	private Long expenseDetailId;

}
